/**
 * 安卓白金英雄坛制作组 <br>
 * 文件名：SysMenuScreen.java <br>
 * 创建时间：2013-7-22 上午11:33:22 <br>
 * 所属项目：GmudEX <br>
 *
 * @author 12548 <br>
 */
package lostland.gmud.exv2.ui;

import lostland.gmud.exv2.Gmud;
import lostland.gmud.exv2.MapScreen;
import lostland.gmud.exv2.data.Room;
import lostland.gmud.exv2.data.Skill;
import lostland.gmud.exv2.ui.core.MenuScreen;

/**
 * 类名：InnerMenuScreen <br>
 * 说明：系统菜单
 *
 * @author 12548
 */
public class InnerMenuScreen extends MenuScreen {

	/**
	 * @param instance
	 */
	public InnerMenuScreen() {
		super(new InnerMenuButton[]{
				new InnerMenuButton(0),
				new InnerMenuButton(1),
				new InnerMenuButton(2),
				new InnerMenuButton(3)
		});
		dummyBorder = new InnerMenuBorder();
	}


	/*
	 * （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.MenuScreen#onClick(int)
	 */
	@Override
	protected void onClick(int index) {
		if (Gmud.mc.skillsckd[3] == -1) {
			new NotificationScreen("请先选择你要用的内功心法！").pushToGame();
		} else {
			switch (index) {
				case 0:
					if (Gmud.mc.isHungry()) {
						new NotificationScreen("你已经饿得没有力气打坐了！").pushToGame();
						break;
					}
					if (Gmud.mc.haveTalent(1005)) // 天赋效果1005
					{
						Gmud.mc.maxfp = Gmud.mc.getMaxfpLimit();
						Gmud.mc.setFp(Gmud.mc.maxfp * 2);
						new NotificationScreen("【天一功体】你的内力已提升至上限").pushToGame();
					} else {
						new SittingScreen().pushToGame();
					}
					break;
				case 1:
// game.getHandler().obtainMessage(1).sendToTarget();
					new AdsMenuScreen().pushToGame();
					break;
				case 2:
					if(Gmud.mc.getSp() >= Gmud.mc.getHp()) {
						new NotificationScreen("你现在体力充沛。").pushToGame();
					} else if (Gmud.mc.getFp() == 0) {
						new NotificationScreen("你的内力不够。").pushToGame();
					} else {
						Gmud.mc.xiqi();
						new NotificationScreen("你深深吸了口气，脸色看起来好多了。").pushToGame();
					}
					break;
				case 3:
					if (Gmud.mc.isHungry()) {
						new NotificationScreen("你浑身使不出一点力气，还是先吃饱了再疗伤吧！").pushToGame();
						break;
					}
					if (Gmud.mc.getFp() < 60) {
						new NotificationScreen("你的内力不够，不能疗伤。").pushToGame();
					} else if(Gmud.mc.getHp() == Gmud.mc.getAttr(Room.ATTR_MAXHP)) {
						new NotificationScreen("你现在并没有受伤!").pushToGame();
					} else if(Gmud.mc.getHp() < Gmud.mc.getAttr(Room.ATTR_MAXHP) * 0.3) {
						new NotificationScreen("你已受伤过重，只怕一运真气便有生命危险。").pushToGame();
					} else if (Gmud.mc.skills[Skill.KIND_NEIGONG] < 30
							|| Gmud.mc.skills[Gmud.mc.skillsckd[3]] < 30) {
						new NotificationScreen("你运功良久，一抖衣袖，长叹一声站起身来。").pushToGame();
					} else {
						Gmud.mc.setFp(Gmud.mc.getFp() - 60);
						Gmud.mc.setHp((int) (Gmud.mc.getHp() + Gmud.mc.getAttr(Room.ATTR_MAXHP) * 0.05));
						if(Gmud.mc.getHp() > Gmud.mc.getAttr(Room.ATTR_MAXHP)) {
							Gmud.mc.setHp(Gmud.mc.getAttr(Room.ATTR_MAXHP));
						}
						new NotificationScreen("你催动真气，脸上一阵白一阵红，哇地一声，吐出一口淤血，脸色看起来好多了。").pushToGame();
						new NotificationScreen("你全身放松，坐下来开始运功疗伤。").pushToGame();
					}
					break;
			}
		}


	}


	/*
	 * （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.MenuScreen#onCancel()
	 */
	@Override
	public void onCancel() {
		getGame().popScreen();
	}


	/*
	 * （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.core.ButtonControlledScreen#show()
	 */
	@Override
	protected void show() {
		MapScreen.getInstance().present(-1);
		dummyBorder.draw();
		for (int i = 0; i < 4; i++) {
			buttons[i].draw();
		}
	}


	/*
	 * （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.core.DialogScreen#isStable()
	 */
	@Override
	public boolean isStable() {
		return false;
	}
}
